1. Field of the Invention
The present invention is in the field of wireless communication and particularly, though not exclusively, the field of multiple input, multiple output (MIMO) communications.
2. Discussion of Background
In multiple-input multiple output (MIMO) systems employing preceding, channel knowledge is used at the transmitter in order to enhance link quality.
A conventional MIMO system, with nT transmit and nR≦nT receive antennas, can be modelled mathematically in the complex baseband notation as:y=Hx+n  (1)where H is the nR×nT channel matrix, x the nT×1 transmit vector of complex symbols with transmit power constraint ∥x∥2=1, y the nR×1 receive vector, and n is an nR×1 zero-mean white Gaussian distributed noise vector with variance σn2.
Precoding can be also employed in OFDM systems. In such a system, it can be applied, for example, for each subcarrier separately or for a group of subcarriers.
Precoding can be achieved in several ways. For example, the Moore-Penrose pseudoinverse P=H+ can be applied at the transmitter side, which, in one network configuration, can be at a base station. If nT=nR, P becomes simply P=H−1. This preceding step is necessary for instance in multi-user MIMO systems, wherein each element of y will be assigned to an independent user terminal (UT), and therefore no cooperation will be possible between the UTs. In such a case, the precoding matrix P will suppress the inter-user interference; nevertheless the above technique may also be employed in a single-user MIMO system or a multi-user multi-antenna MIMO system, where one or more UTs have more than one receive antenna.
However, a drawback of precoding by means of the pseudoinverse channel matrix is that it can lead to an increase in transmitted power. This is addressed in “A vector-perturbation technique for near-capacity multiantenna multiuser communication—part II: perturbation,” (B. M. Hochwald, C. B. Peel, and A. L. Swindlehurst, IEEE Trans. on Commun., vol. 53, no. 3, pp. 537-544, March 2005) hereinafter referred to as “Hochwald et al.”. Variations in transmitted power are undesirable, particularly as they may violate performance constraints for a device. They may also lead to increased power consumption, which is an important factor in the design of a handheld or otherwise portable communications device.
To illustrate problems faced and identified in the prior art, an example will now be given. In this example, u denotes the symbols, prior to precoding, to be transmitted. The vector is precoded by means of a precoding matrix P, which is chosen to be the Moore-Penrose pseudoinverse P=H+, ass=Pu  (2)
The Moore-Penrose pseudoinverse is well known, but is particularly referenced in “On the reciprocal of the general algebraic matrix” (E. H. Moore; Bulletin of the American Mathematical Society 26: 394-395) and “A generalized inverse for matrices” (R. Penrose; Proceedings of the Cambridge Philosophical Society 51: 406-413).
Prior to transmission, the precoded signal s has to be scaled in order to fulfil the power restriction ∥x∥2=1, such that
                    x        =                  s                      γ                                              (        3        )            where γ=∥s∥2=∥Pu∥2 as set out in “A vector-perturbation technique for near-capacity multiantenna multiuser communication—part I: channel inversion and regularization,” (C. B. Peel, B. M. Hochwald, and A. L. Swindlehurst, IEEE Trans. on Commun., vol. 53, no. 1, pp. 195-202, January, 2005), hereinafter referred to as “Peel et al.”. This approach assumes perfect knowledge of γ at the receiver side.
The normalisation factor is often very large because of the large singular values of the precoding matrix P, i.e., of the pseudoinverse of the channel matrix H (such as noted in papers by Hochwald et al. and by Peel et al., cited above). This can cause noise amplification at the receiver side since the receive symbol vector y=√{square root over (γ)}×(Hx+n) is impaired by a scaled Gaussian noise vector √{square root over (γ)}n.
Hochwald et al. suggests that one way of overcoming this noise amplification is to ensure that the transmitted data u does not lie along the singular values of H−1 (or H+, as the case may be). The idea is to allow u to be perturbed by a complex vector. The perturbed data vector is then:û=u−τ1  (4)where τ is a positive real number and 1 is a complex integer vector. The scalar τ is selected to be sufficiently large that the receiver may apply element-wise a modulo function to y
                                          u            ^                    i                =                                            f              τ                        ⁡                          (                              y                i                            )                                =                                    y              i                        -                                          ⌊                                                                            y                      i                                        +                                          τ                      /                      2                                                        τ                                ⌋                            ⁢              τ                                                          (        5        )            to obtain û, where └ ┘ rounds towards the nearest integer closest to zero. It will be noted that fτ(yi) is applied to real and imaginary parts separately. It should be recognised by the reader that û is not quantised and therefore contains additive noise.
Hochwald et al. also suggests that the constellation shift parameter τ should be
                    τ        =                  2          ⁢                      (                                                                              c                                                  max                            +                              Δ                2                                      )                                              (        6        )            
where |c|max is the absolute value of the real or imaginary part of the constellation symbol with greatest magnitude, and Δ is the smallest distance between two constellation symbols. It will be understood that the foregoing is set out for M-QAM constellations; non-square constellations such as PSK (Phase shift keying) or other, such as hexagonal constellations, may have a constellation shift parameter τ that is essentially the distance between the centres of repeated equidistantly shifted constellations.
FIG. 1 illustrates the modulo operation at the receiver side for a 16-QAM constellation. The received symbol, marked with an ‘x’, is shifted from the extended constellation (unfilled points) back to the original constellation (filled points), in which the symbol detection stage will be done. As will be appreciated by the reader, the average number of neighbouring points will be increased, as points of the original constellation which were previously considered to be at the edge of the constellation now have a complete set of neighbours. This has an impact on the error protection of the outer symbols. The shift parameter τ, as the distance between the centres of the respective constellations, can lower this impact if it is chosen to be greater than defined in Equation 6.
In accordance with the above, τ and 1 can be selected in order to minimise γ=∥s∥2, such that:1=arg min1′∥P(u−τ1′)∥2  (7)
This is an integer least squares problem in the dimension of u, for the solution of which there exist a large number of algorithms. For instance, the reader is directed to “Closest point search in lattices” (E. Agrell, T. Eriksson, A. Vardy, and K. Zeger, IEEE Transactions on Information Theory, vol. 48, no. 8, pp. 2201-2214, August 2002) and to the references noted in Hochwald et al., especially the Fincke-Pohst algorithm, which is used for space-time demodulation in “Lattice code decoder for space-time codes,” (M. 0. Damen, A. Chkeif, and J.-C. Belfiore, IEEE Commun. Letters, vol. 4, pp. 161-163, May 2000), where it is called a sphere decoder. Because this algorithm can be used for encoding the data vector u, it is called a “sphere encoder”.
If G is defined as the set:G={a+ib a,bεZ}, with i2=−1,
that is, the set of complex-valued integers, then an approximation of 1 can be calculated, and the perturbation vector is then given as1approx=−TQτGK{T−1u}, where the quantisation function QτGK{·} rounds the K-dimensional vector towards the nearest complex-valued point of the K-dimensional integer lattice, scaled with τ(depicted by τGK), where K is the number of spatial streams, i.e., the dimension of the vector u.
A practical implementation as an integer rounding function, indicated by G, can be
                              1          approx                =                              -                          TQ                              G                K                                              ⁢                                    {                                                                    T                                          -                      1                                                        ⁢                  u                                τ                            }                        .                                              (        8        )            
Due to the denominator τ, the complex-integer-rounding function operates in a scaled integer lattice.
This is as set out in “Lattice-reduction-aided broadcast precoding,” (C. Windpassinger, R. F. H. Fischer, and J. B. Huber, IEEE Trans. on Commun., vol. 52, no. 12, pp. 2057-2060, December 2004—“Windpassinger et al.”).
A number of lattice reduction algorithms exist. Any one of them can be used to calculate a transformation matrix, T, such that a reduced basis, {circumflex over (P)}, is given by PT. The matrix T contains only complex integer entries and its determinant is |det(T)|=1 and thus is called a unimodular matrix.
The unimodular matrix T is given by means of a lattice reduction of the precoding matrix P with the LLL algorithm “Factoring Polynomials with Rational Coefficients” (A. Lenstra, H. Lenstra and L. Lovasz, Math Ann., Vol. 261, pp. 515-534, 1982.), but any other algorithm for reducing a lattice basis is also applicable.
The normalisation factor γ is then determined, by means of a closest point approximation, as:γ=∥s∥2=∥P(u−τ1approx)∥2  (9)
The complete transmission employing non-linear preceding can thus be formulated as
                    y        =                              γ                    ⁢                      (                                          H                (                                                      P                    ⁡                                          (                                              u                        -                                                  τ                          ⁢                                                                                                          ⁢                          l                                                                    )                                                                            γ                                                  )                            +              n                        )                                              (        10        )            with y being the receive signal of a single user or a plurality of users, each receiving one or more elements yi of the vector y.
A block diagram of a transmission train employing data perturbation is shown in FIG. 2. As illustrated in FIG. 2, vector perturbation is carried out on the transmitted data u in a vector perturbation unit 20. The perturbed data is passed to be multiplied by the pseudo inverse H+ in block 22, which is equivalent to equation 2 set out above. The next block 24 represents division by √{square root over (γ)}, which is a normalisation step. The resultant vector x is re-multiplied by the channel matrix H (in block 26) as informed by channel information, to which is added a noise vector n. In block 28, the resultant vector y is re-multiplied by the square root of the normalisation factor γ and then modulo τ is applied to arrive at the perturbed data vector û.
Finding the perturbation vector 1 can be done in several ways. For instance, the solution of1=arg min1′∥P(u−τ1′)∥2  (11)is an integer least squares problem for which there exist a large number of solution methods, such as that disclosed in Agrell et al. and also as disclosed in references contained in Hochwald et al. Moreover, “On the expected complexity of integer least-squares problems,” (B. Hassibi and H. Vikalo, Proc. IEEE International Conference on Acoustics, Speech, and Signal Processing, 2002 (ICASSP '02), vol. 2, pp. 1497-1500) describes complexity in the context of sphere decoding.
Further, approximation by means of lattice reduction is introduced in Windpassinger et al.
As FIG. 5 shows, there is a bit error rate performance gap of approximately 2 dB between the “optimal” solution of the least squares problem, denoted as “sphere encoding”, and the approximation of 1 by means of lattice reduction, denoted as “LRA closest point algorithm”. The reader will appreciate that FIG. 5 illustrates experimental results also for a specific embodiment of the invention, as will be described in due course.